There are many contexts in which a computerized entity may need to retrieve, arrange, and display data to a user in a manner that facilities understanding of the data. For example, computerized entities are often responsible for constructing web pages or other visual presentations that are rendered on a display device. Such web pages and visual presentations often employ a presentation structure that organizes the data and depicts relationships lying therein. A presentation structure, as used herein, is a structured format for depicting data on a display.
One such presentation structure is a tree. A tree is an acyclic connected graph where each node has a set of zero or more child nodes and at most one parent node. A tree may be helpful for organizing or classifying data as every node in the tree can be traced to a single origin through a unique path.
According to one approach for using a tree, data is initially retrieved from a database by an application server that issues a database command (a “select statement”) to a database server. The database server processes the database command, retrieves the data from the database, and provides the data to the application server. The application server then assembles the data in a tree structure that forms part of a web page. The application server sends the web page to a web server. The web server sends the web page to a web browser, which in turn renders the web page on a display. The viewer of the web page can more readily digest the organization and structure of the data by its depiction in the tree.
A problem with trees is that they do not allow the data stored therein to be easily analyzed across multiple dimensions. To illustrate, assume a particular tree stores employee data in each node of the tree. If a user wishes to view employee data for a desired region, then employee data for the desired region will need to be retrieved so the tree may be populated with the appropriate data. The employee data for the desired region can be obtained by issuing a select statement, to the database server, that identifies the desired region as a filter value in a “where clause.” Thereafter, if the user wishes to view employee data for new region, then another select statement with a filter value identifying the new region will need to be executed, and the tree once again will need to be populated with the newly retrieved data. Executing multiple database commands in this manner is not desirable, as it increases the computational resources as well as the time and effort involved in viewing the necessary data.
The other presentation structures that are currently available, such as a table, also have disadvantages which limit their usefulness for analyzing data across multiple dimensions. Therefore, improved approaches for presenting data to a user would be desirable. The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.